#ifndef FUNCTIE_h
#define FUNCTIE_h
#include "Nod.cpp"
#include "Constanta.cpp"
#include "ATan.h"
#include "Necunoscuta.cpp"
#include "Minus.cpp"
#include "Plus.cpp"
#include "Putere.cpp"
#include "Sin.cpp"
#include "Cos.cpp"
#include "Tangenta.cpp"
#include "Inmultit.cpp"
#include "Logaritm.cpp"
#include "LogaritmN.cpp"
#include "Impartit.cpp"
#include "Exp.cpp"
#include "Cotan.cpp"
#include "ATan.cpp"
#include "ASin.cpp"
#include "ACtg.cpp"
#include "ACos.cpp"

class Functie
{
    private:
        char *expresie;
        Nod *radacina;
    public:
        Functie(const char *);
        ~Functie();
        long double calculezValoare(long double);
        char *toString();
        char *derivata();
        long double calculezDerivata(long double); 
	void verificPrecedenta(int newPrec, int newPoz, int *oldPrec, int *oldPoz);
	Nod *creezArboreleBinar(int linf, int lsup);
};
#endif
